/***
 * 导航管理.<br/>
 *
 * @author fsl-gongl-20151109
 *
 */
$(function () {

    // 渲染页面-通用部分；
    commTemplUtil.initPage();
    // 渲染左侧菜单;
    commTemplUtil.initCommLeftMemu();
    commTemplUtil.setLeftMenu(14);

    // 获取导航列表
    getNavList();

});

function getNavList() {

    $.ajax({
        url : PAGE_CONFIG.requestUrl.getNavListS20,
        type : "get",
        data : {
            userid : PAGE_DATA.userid || ''
        },
        success : function (result) {

            var navData = $.extend([], result.data);
            renderNavList(navData);
        },
        error : function () {

            commTemplUtil.showErrorDialog({
                title : '注意！',
                message : '获取导航信息 失败！',
                ok_txt : "确定"
            });

        },
    });

};

/**
 *
 * @author fsl-gonglong-20151109.
 */
function renderNavList(data) {
    var navTmpl = _.template($('#nav-tmpl').html());
    var navHtml = navTmpl(data);
    $("#comm_tbl_body").html(navHtml);

    initDialog();
};

/**
 * 加载弹出框
 *
 * @author fsl-fzh
 * @author fsl-gongl-20151109
 */
function initDialog() {

    // "编辑"按钮
    $("#comm_tbl_body").find(".sel-editor").click(function () {

        var navIdVal = $(this).attr("nav-id");

        // 获取导航详细 信息.
        $.ajax({
            url : PAGE_CONFIG.requestUrl.getNavInfoDetailS20,
            type : "get",
            data : {
                userid : PAGE_DATA.userid || '',
                navid : navIdVal || ''
            },
            success : function (result) {

                var navData = $.extend({
                        name : '',
                        showFlag : '',
                        textarea : ''
                    }, result.data);

                var editor_temp = _.template($('#dialog-templ').html());
                var tmpEditor = null;

                // 导航管理-弹出框.
                var dial = dialog({
                        width : 810,
                        // id : "editor_dialog",
                        title : "导航管理",
                        content : editor_temp(navData),
                        onshow : function () {

                            var dialogId = this.id;
                            var dialogObj = $("[id='content:" + dialogId + "']");
                            var formObj = dialogObj.find("form");

                            // 表单验证.
                            var validForm = formObj.validate({
                                    rules : {
                                        name : 'required'
                                    }
                                });

                            // 文本编辑框.
                            tmpEditor = UE.getEditor('container');
                            tmpEditor.ready(function () {
                                tmpEditor.setContent(navData.textarea);
                            });

                            // "提交" 按钮.
                            formObj.find("[id='sub-btn']").on("click", function () {
                                var chk = validForm.form();
                                if (chk) {
                                    var navName = formObj.find("[id='name']").val();
                                    var showFlag = formObj.find("[name='showflag']:checked").val();
                                    var textarea = tmpEditor.getContent();
                                    updNav(navIdVal, navName, showFlag, textarea, dial)
                                }
                            });

                        },
                        onremove : function () {
                            tmpEditor.destroy();
                        }
                    });
                dial.showModal();

            },
            error : function () {

                commTemplUtil.showErrorDialog({
                    title : '注意！',
                    message : '获取导航信息 失败！',
                    ok_txt : "确定"
                });

            },
        });

    });
}

/**
 * 更新导航信息.<br/>
 *
 * @author fsl-gonglong-20151109.
 */
function updNav(id, name, show, text, dialogObj) {

    // PAGE_CONFIG.requestUrl.updNavInfoS20,
    $.ajax({
        url : PAGE_CONFIG.requestUrl.updNavInfoS20,
        type : "put",
        data : {
            userid : PAGE_DATA.userid || '',
            navid : id || '',
            name : name || '',
            show : show || '',
            text : text || '',
            _token : COMM_DATA.csrfToken
        },
        success : function (result) {

            var navData = $.extend([], result.data);
            renderNavList(navData);
            dialogObj.remove();
        },
        error : function (result) {
            commTemplUtil.showErrorDialog({
                title : '注意！',
                message : '编辑导航信息 失败！',
                ok_txt : "确定"
            });
            dialogObj.remove();
        }
    });

};